/**
 * 属性修饰符
 * 只读属性 （加给谁谁不能修改，对于引用类型的内部属性可以修改，前提只在外部加readonly）
 * */
interface SType {
  readonly prop: string
}

function doST(obj: SType) {
  console.log(obj.prop)
  // obj.prop = 'hello'
}
// 只读属性不可修改

interface Home {
  readonly resident: {
    name: string,
    age: number
  }
}

function visitForBirthday(home: Home) {
  console.log(home.resident.name)
  home.resident.age++
}

function evict(home: Home) {
  // home.resident = { name: 'zs', age: 18 }
}